package org.aptech.hdax.pojo;


import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 原始数据类型：
 * 包装类：接收null值；点出一些操作方法
 */
public class SysUser implements Serializable {

  private Long userId;
  private SysDept sysDept; //用户所属的部门
  private String loginName;
  private String userName;
  private String userType;
  private String email;
  private String phonenumber;
  private String sex;
  private String avatar; //头像
  private String password; //密码、加密存储：md5算法 hello --> hakfhakfhakfhakfhak
  private String salt; // 加密的盐值, 让加密更加安全的
  private String status;
  private String delFlag;
  private String loginIp;
  private Date loginDate;
  private String createBy;
  private Date createTime;
  private String updateBy;
  private Date updateTime;
  private String remark;

  private List<SysRole> sysRoleList; //用户拥有的角色列表

  private Long[] roleIds; //角色编号： 辅助属性，用户封装查询条件的

  public Long[] getRoleIds() {
    return roleIds;
  }

  public void setRoleIds(Long[] roleIds) {
    this.roleIds = roleIds;
  }

  @Override
  public String toString() {
    return "SysUser{" +
            "userId=" + userId +
            ", sysDept=" + sysDept +
            ", loginName='" + loginName + '\'' +
            ", userName='" + userName + '\'' +
            ", userType='" + userType + '\'' +
            ", email='" + email + '\'' +
            ", phonenumber='" + phonenumber + '\'' +
            ", sex='" + sex + '\'' +
            ", avatar='" + avatar + '\'' +
            ", password='" + password + '\'' +
            ", salt='" + salt + '\'' +
            ", status='" + status + '\'' +
            ", delFlag='" + delFlag + '\'' +
            ", loginIp='" + loginIp + '\'' +
            ", loginDate=" + loginDate +
            ", createBy='" + createBy + '\'' +
            ", createTime=" + createTime +
            ", updateBy='" + updateBy + '\'' +
            ", updateTime=" + updateTime +
            ", remark='" + remark + '\'' +
            ", sysRoleList=" + sysRoleList +
            '}';
  }

  public List<SysRole> getSysRoleList() {
    return sysRoleList;
  }

  public void setSysRoleList(List<SysRole> sysRoleList) {
    this.sysRoleList = sysRoleList;
  }

  public Long getUserId() {
    return userId;
  }

  public void setUserId(Long userId) {
    this.userId = userId;
  }

  public SysDept getSysDept() {
    return sysDept;
  }

  public void setSysDept(SysDept sysDept) {
    this.sysDept = sysDept;
  }

  public String getLoginName() {
    return loginName;
  }

  public void setLoginName(String loginName) {
    this.loginName = loginName;
  }

  public String getUserName() {
    return userName;
  }

  public void setUserName(String userName) {
    this.userName = userName;
  }

  public String getUserType() {
    return userType;
  }

  public void setUserType(String userType) {
    this.userType = userType;
  }

  public String getEmail() {
    return email;
  }

  public void setEmail(String email) {
    this.email = email;
  }

  public String getPhonenumber() {
    return phonenumber;
  }

  public void setPhonenumber(String phonenumber) {
    this.phonenumber = phonenumber;
  }

  public String getSex() {
    return sex;
  }

  public void setSex(String sex) {
    this.sex = sex;
  }

  public String getAvatar() {
    return avatar;
  }

  public void setAvatar(String avatar) {
    this.avatar = avatar;
  }

  public String getPassword() {
    return password;
  }

  public void setPassword(String password) {
    this.password = password;
  }

  public String getSalt() {
    return salt;
  }

  public void setSalt(String salt) {
    this.salt = salt;
  }

  public String getStatus() {
    return status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

  public String getDelFlag() {
    return delFlag;
  }

  public void setDelFlag(String delFlag) {
    this.delFlag = delFlag;
  }

  public String getLoginIp() {
    return loginIp;
  }

  public void setLoginIp(String loginIp) {
    this.loginIp = loginIp;
  }

  public Date getLoginDate() {
    return loginDate;
  }

  public void setLoginDate(Date loginDate) {
    this.loginDate = loginDate;
  }

  public String getCreateBy() {
    return createBy;
  }

  public void setCreateBy(String createBy) {
    this.createBy = createBy;
  }

  public Date getCreateTime() {
    return createTime;
  }

  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  public String getUpdateBy() {
    return updateBy;
  }

  public void setUpdateBy(String updateBy) {
    this.updateBy = updateBy;
  }

  public Date getUpdateTime() {
    return updateTime;
  }

  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }
}
